/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ventas.action;

import com.opensymphony.xwork2.ActionSupport;
import com.ventas.bean.Categoria;
import com.ventas.bean.Producto;
import com.ventas.dao.CategoriaDao;
import com.ventas.dao.ProductoDao;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author jesus y lo que falta
 */
public class ProductoAction extends ActionSupport {
    
    
     private List<Producto> listadoProducto = null;
    Producto producto;
    
    
    private List<Categoria> listadoCat = null;
    Categoria categoria ;
    
     private List<Producto> chartProductosVendidos=null;

    public List<Producto> getChartProductosVendidos() {
        return chartProductosVendidos;
    }

    public void setChartProductosVendidos(List<Producto> chartProductosVendidos) {
        this.chartProductosVendidos = chartProductosVendidos;
    }
     
     
 
    //INGRESO
    String  nom;
    String descrip;
    double pre;
    int cat;

    public List<Categoria> getListadoCat() {
        return listadoCat;
    }

    public void setListadoCat(List<Categoria> listadoCat) {
        this.listadoCat = listadoCat;
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }
    
    
   
    public List<Producto> getListadoProducto() {
        return listadoProducto;
    }

    public void setListadoProducto(List<Producto> listadoProducto) {
        this.listadoProducto = listadoProducto;
    }

    public Producto getProducto() {
        return producto;
    }

    public void setProducto(Producto producto) {
        this.producto = producto;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public String getDescrip() {
        return descrip;
    }

    public void setDescrip(String descrip) {
        this.descrip = descrip;
    }

    public double getPre() {
        return pre;
    }

    public void setPre(double pre) {
        this.pre = pre;
    }

    public int getCat() {
        return cat;
    }

    public void setCat(int cat) {
        this.cat = cat;
    }
          

       
     // ---------------------------
    
   
    public String ListadoProductos() throws Exception {
       
        listadoProducto= new ArrayList<>();
        chartProductosVendidos= new ArrayList<>();
        
     
        try {
            ProductoDao productoDao = new ProductoDao();
            
            listadoProducto=productoDao.listadoProductosActivos();
            chartProductosVendidos=productoDao.listadoProductosMasVendidos();
            
            System.out.println("Exito ");
        } catch (Exception e) {
            System.out.println("Error de Action" + e.getMessage());
            e.printStackTrace();
        }
        if (listadoProducto.isEmpty()) {
            return ERROR;
        } else {
            return SUCCESS;
        }
    }
    
     public String cargaIngresoProducto() throws Exception {
        CategoriaDao categoriaDao =  new CategoriaDao();
        
        
        try {
            listadoCat = categoriaDao.obtener();
            System.out.println("Exito cargaSelectMarcasAction");
            ListadoProductos();
        } catch (Exception e) {
            System.out.println("Error cargaSelectMarcasAction" + e.getMessage());
            e.printStackTrace();
        }
        return SUCCESS;
    }
      public String IngresoProducto() throws Exception {
        boolean resultado = false;
        try {
            ProductoDao productoDao = new ProductoDao();
            Producto producto = new Producto();
            Categoria categoria = new Categoria();
            
            
            producto.setPro_nombre(nom);
            producto.setPro_descripcion(descrip);
            producto.setPro_precio(pre);
            
            
            categoria.setCat_id(cat);
            producto.setCategoria(categoria);
          
          
            
            resultado = productoDao.IngresoProductoDao(producto);
            System.out.println("Exito de Action-Ingreso");
        } catch (Exception e) {
            System.out.println("Error de Action" + e.getMessage());
            e.printStackTrace();
        }
        cargaIngresoProducto();
        ListadoProductos();
        if (resultado) {
             nom="";
            descrip="";
            pre=0;
            cat=0;
            
            addActionMessage("Ingreso Exitoso");
            return SUCCESS;
            
        } else {
            addActionError("No se pudo Ingresar");
            return ERROR;
        }
    }
    
    
}
